﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//全局的配置参数、标识符、错误消息、状态码等

//游戏模式枚举
public enum GameMode
{
    EditorMode,
    PackageBundle,
    UpdateMode
}

//？？？
public enum GameEvent
{
    GameInit = 10000,
    StartLua,
}

public class AppConst
{
    //自定义ab包扩展
    public const string BundleExtension = ".ab";
    //储存文件信息的文本文件名称
    public const string FileListName = "filelist.txt";
    //热更资源的地址,不用经常修改，作为常量
    public const string ResourcesUrl = "http://192.168.137.1/AssetBundles";
    //游戏状态：
    //1.如果是update模式，则版本文件解析、ab包资源加载（包括lua脚本初始化缓存）都在读写目录（BundleResourcePath）进行。
    //用于开发时模拟客户端游戏播放测试，以及发布后运行
    //2.如果是PackageBundle模式，则版本文件解析、ab包资源加载（包括lua脚本初始化缓存）都在只读目录（BundleResourcePath）进行。
    //用于开发时编辑器游戏播放测试，如果unpdate代码没问题，这个模式能通过测试，那么update模式必定能通过测试
    //3.如果是EditorMode模式，版本文件解析，ab包资源加载（包括lua脚本初始化缓存）都在构建资源目录BuildResourcesPath进行。
    //用于开发时游戏播放（不包括更新），避免修改资源而进行的频繁打包操作

    //第一个条件分支判断（是否是编辑器环境）在 lua脚本缓存初始化函数Init() 以及 ab包资源加载LoadAsset() ，区分是在resources还是在BundleResourcePath
    //第二个条件分支判断在BundleResourcePath（是包模式还是更新模式），区分 版本文件解析ParseVersion()、ab包资源加载及lua初始化缓存（如果第一个分支没选择EditorMode） 是在只读目录还是读写目录
    public static GameMode GameMode = GameMode.EditorMode;
    //？？
    public static bool OpenLog = true;
}
